package com.jdcjk.project.car.model;

import android.content.Context;

import com.jdcjk.base.model.BaseModel;
import com.zhy.http.okhttp.OkHttpUtils;
import com.zhy.http.okhttp.callback.StringCallback;

import okhttp3.Call;

/**
 * Created by dong on 2016/12/1.
 * 轨迹回放加载数据类
 */

public class CarModel extends BaseModel {

    public CarModel(Context context) {
        super(context);
    }

    public void getTrack(String url, String cardId, String startTime, String endTime, String page, String pageSize, StringCallback stringCallback) {
        OkHttpUtils.post()
                .url(url)
                .addParams("cardId", cardId)
                .addParams("startTime", startTime)
                .addParams("endTime", endTime)
                .addParams("page", page)
                .addParams("pageSize", pageSize)
                .build()
                .execute(stringCallback);
    }

    /**
     * 根据时间获得路径
     *
     * @param url            请求url
     * @param terminalID     终端Id
     * @param startTime      开始时间
     * @param endTime        结束时间
     * @param stringCallback 回调
     */
    public void queryLocationReplay(String url, String terminalID, String startTime, String endTime, StringCallback stringCallback) {
        OkHttpUtils.post()
                .url(url)
                .addParams("terminalID", terminalID)
                .addParams("startTime", startTime)
                .addParams("endTime", endTime)
                .build()
                .execute(stringCallback);
    }

    /**
     * 获得终端信息
     *
     * @param url            请求url
     * @param terminalID     终端Id
     * @param stringCallback 回调
     */
    public void getTerminal(String url, String terminalID, StringCallback stringCallback) {
        OkHttpUtils.post()
                .url(url)
                .addParams("terminalID", terminalID)
                .build()
                .execute(stringCallback);
    }

    /**
     * 修改设备信息
     *
     * @param url            请求url
     * @param id             设备id
     * @param displayid      设备名称
     * @param carId          车牌号码
     * @param cardNum        设备手机卡号
     * @param linkman        设备联系人
     * @param linkphone      设备联系人手机号
     * @param stringCallback 回调
     */
    public void updataTerminalInfo(String url, String id, String displayid, String carId, String cardNum, String linkman, String linkphone, StringCallback stringCallback) {
        OkHttpUtils.post()
                .url(url)
                .addParams("id", id)
                .addParams("displayid", displayid)
                .addParams("carId", carId)
                .addParams("cardNum", cardNum)
                .addParams("linkman", linkman)
                .addParams("linkphone", linkphone)
                .build()
                .execute(stringCallback);
    }

    /**
     * 获取设备报警信息
     *
     * @param url            请求url
     * @param terminalId     设备id
     * @param stringCallback 回调
     */
    public void getCarWarmingInfo(String url, String terminalId, StringCallback stringCallback) {
        OkHttpUtils.post()
                .url(url)
                .addParams("terminalId", terminalId)
                .build()
                .execute(stringCallback);
    }

    /**
     * 删除一条报警信息
     *
     * @param url            请求url
     * @param id             信息id
     * @param stringCallback 回调
     */
    public void deleteWarningInfo(String url, String id, StringCallback stringCallback) {
        OkHttpUtils.post()
                .url(url)
                .addParams("id", id)
                .build()
                .execute(stringCallback);
    }

    /**
     * 终端重启指令下发
     *
     * @param url            请求url
     * @param terminalId     设备id
     * @param stringCallback 回调
     */
    public void resetTerminal(String url, String terminalId, StringCallback stringCallback) {
        OkHttpUtils.post()
                .url(url)
                .addParams("terminalId", terminalId)
                .build()
                .execute(stringCallback);
    }

    /**
     * 终端立即定位指令下发
     *
     * @param url            请求url
     * @param terminalId     设备id
     * @param stringCallback 回调
     */
    public void checkLocation(String url, String terminalId, StringCallback stringCallback) {
        OkHttpUtils.post()
                .url(url)
                .addParams("terminalId", terminalId)
                .build()
                .execute(stringCallback);
    }

    /**
     * 设置定位上报时间
     *
     * @param url            请求url
     * @param terminalId     设备id
     * @param time           上报时间(单位为s)
     * @param stringCallback 回调
     */
    public void setLocationTime(String url, String terminalId, String time, StringCallback stringCallback) {
        OkHttpUtils.post()
                .url(url)
                .addParams("terminalId", terminalId)
                .addParams("time", time)
                .build()
                .execute(stringCallback);
    }

    /**
     * 设置超速报警速度值
     *
     * @param url            请求url
     * @param terminalId     设备id
     * @param speed          超速速度值(单位km/h)
     * @param stringCallback 回调
     */
    public void setSpeedWarning(String url, String terminalId, String speed, StringCallback stringCallback) {
        OkHttpUtils.post()
                .url(url)
                .addParams("terminalId", terminalId)
                .addParams("speed", speed)
                .build()
                .execute(stringCallback);
    }

    /**
     * 获取用户下的sos号码
     *
     * @param url            请求url
     * @param userId         用户id
     * @param stringCallback 回调
     */
    public void getTerminalFamily(String url, String userId, StringCallback stringCallback) {
        OkHttpUtils.get()
                .url(url)
                .addParams("userId", userId)
                .build()
                .execute(stringCallback);
    }

    /**
     * 保存sos号码
     *
     * @param url            请求url
     * @param userId         用户id
     * @param mobs           手机号码，多个请用“,”隔开
     * @param informType     提示方式
     * @param stringCallback 回调
     */
    public void saveTermailFamily(String url, String userId, String mobs, String informType, StringCallback stringCallback) {
        OkHttpUtils.post()
                .url(url)
                .addParams("userId", userId)
                .addParams("mobs", mobs)
                .addParams("informType", informType)
                .build()
                .execute(stringCallback);
    }

    /**
     * 获取终端未读信息数量
     *
     * @param url            请求UrL
     * @param terminalIDs    终端id，多个用,隔开
     * @param stringCallback 回调
     */
    public void getUnreadMsgNumForTerminalId(String url, String terminalIDs, StringCallback stringCallback) {
        OkHttpUtils.post()
                .url(url)
                .addParams("terminalIDs", terminalIDs)
                .build()
                .execute(stringCallback);
    }

    /**
     * 修改报警信息状态(将该设备所有报警信息都改为已读)
     *
     * @param url            请求UrL
     * @param terminalId     终端id
     * @param stringCallback 回调
     */
    public void updateMsgStatus(String url, String terminalId, StringCallback stringCallback) {
        OkHttpUtils.get()
                .url(url)
                .addParams("terminalID", terminalId)
                .build()
                .execute(stringCallback);
    }
}
